Conventional integrated circuits can comprise billions of devices on many different layers. Custom and other designs of integrated circuits can be created using electronic design automation (EDA) technologies that typically run on an operating system in conjunction with a microprocessor-based computer system or other programmable control system. Conventional EDA systems or tools typically generate a layout of shapes corresponding to circuit elements (e.g., gates, transistors, etc.) for each of the different layers. In many design applications, the EDA software can further include functionality that allows a user to implement “cells” as a basic element of functionality through a layout editor implemented on a graphical user interface (GUI). A given cell may be placed, or “instanced,” many times in a layout design to accelerate the design process.
A hierarchical design is an electronic circuit design having a collection of different levels (e.g., level 0, 1, 2, . . . , n), wherein each higher level hides the details and shapes of the lower levels to simplify the design process. That is, a design hierarchy allows the circuit design to be broken down into a collection of smaller designs (or levels), thus reducing visual complexity of the design process, and enabling the EDA system to work with a collection of smaller design files so the design tools can run faster.
Using a GUI, a designer can issue commands to the EDA tool for various purposes such as to obtain information about or visualize the current layout design. Circuit designers generally create a design and reuse this design by placing an instance of the cellview inside another design and this way a level of hierarchy can be created. Many EDA tools (e.g., layout editor tools) support conventional controls such as “Information Balloons” and “Show Selection Info” that display textual information about an existing object or a shape underneath the mouse cursor. Although this textual information is helpful, there are many situations where problems with the displayed information can arise that decrease or limit user productivity, for example in very dense designs. Moreover, this textual information does not always effectively convey hierarchy information, which would be useful for making decisions for further editing commands.